"""
需求：
1. 定义一个实现加法操作的函数， 并对该函数进行测试
2. 要求对多组测试数据进行测试

问题：
1. 一条测试数据定义一个测试函数， 代码冗余度太高
2. 一个测试函数中测试多条数据， 最终只会有一个测试结果
"""
import unittest

def add(a, b):
    return a + b


class TestAdd(unittest.TestCase):
    def test_add_01(self):
        result = add(1, 1)
        self.assertEqual(result, 2)

    def test_add_02(self):
        result = add(1, 0)
        self.assertEqual(result, 1)

    def test_add_03(self):
        result = add(0, 0)
        self.assertEqual(result, 0)

    def test_add(self):
        test_data = [(1, 1, 2), (1, 0, 1), (0, 0, 0)]
        # for x, y, expect in test_data:
        for temp in test_data:
            x, y, expect = temp
            print('temp = ', temp)
            print(x, y, expect)
            # print("x={} y={} expect={}".format(x, y, expect))
            result = add(x, y)
            self.assertEqual(result, expect)
